Ein Modul kapseln heisst zwar offenlegen, welche Aufgabe es erfüllt, aber geheimhalten, wie es diese implementiert. Die Schnittstelle des Moduls veröffentlicht nur, was und nicht wie die Aufgabe gelöst wird. VBA realisiert die Kapselung auf der Modul- und der Prozedurebene:
Auf Prozedurebene beschreibt der Prozedurkopf die Schnittstelle einer Operation, die der Prozedurrumpf implementiert. Dadurch, dass der Gültigkeitsbereich der lokalen Variablen die Prozedur ist, ist die Implementation von aussen liegenden Programmteilen abgekapselt.
Auf Modulebene beschreiben die öffentlichen Variablen und Prozeduren die Schnittstelle und die privaten Elemente die Implementation. Auch hier realisiert wieder der Gültigkeitsbereich die Kapselung. Mit Property-Prozeduren ist es sogar möglich zu verbergen wie Eigenschaftswerte gespeichert werden. Öffentliche Variablen geben hingegen mit dem 'Was' immer auch das 'Wie' preis.
©abo